'''
正则表达式 Regular Expression
    -专门用于解析字符串
    -难于学习，难于掌握
lxml
    将文本文件转变为一个电子树格式进行解析
xml
    Extensible Markup Language - 可扩展标记语言
xpath
    -利用元素之间的层级关系找到相应的元素
    -提取文本信息：text()
    -提取属性的信息：@属性名
'''
from lxml import etree

# 打开本地页面
with open(r'python\day08\sample.html','r',encoding='utf-8') as file:
    page = file.read()

# 将文本文件转变为一个电子树格式进行解析
selector = etree.HTML(page)
# print(selector)

# 利用xpath解析页面
'''
绝对路径
    -以 / 开始

'''
# 获取第5个li元素中的文本
text = selector.xpath('/html/body/div/ul/li[5]/a/text()')
print(text)

text = selector.xpath('/html/body/div[2]/div[2]/ol/li[4]/text()')
print(text)

'''
相对路径
    -以 // 开始
'''
href = selector.xpath('//ul/li[1]/a/@href')
print(href)
href = selector.xpath('//ul/li/a/@href')
print(href)

text = selector.xpath('//*[@class="item-inactive"]/a/text()')
print(text)